home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / Fresco / build / Unix / config / cf / Imake.tmpl < prev    next >
Text File  |  1995-07-12  |  28KB  |  1,147 lines

  1. XCOMM ----------------------------------------------------------------------
  2. XCOMM Makefile generated from IMAKE_TEMPLATE and INCLUDE_IMAKEFILE
  3. XCOMM $XConsortium: Imake.tmpl,v 1.224 94/12/27 03:57:50 gildea Exp $
  4. XCOMM
  5.  
  6. /*
  7.  * generic imake template
  8.  */
  9.  
  10. /*
  11.  * Modify Imake.cf when adding a new architecture, do not modify this file.
  12.  * Platform-specific parameters may be set in the appropriate <vendor>.cf
  13.  * configuration files.  Site-specific parameters should be set in the file
  14.  * site.def.  Full rebuilds are recommended if any parameters are changed.
  15.  * If your C preprocessor does not define any unique symbols, you will need
  16.  * to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
  17.  * "make World" the first time).
  18.  */
  19.  
  20. #define ImakeConfigRelease 6
  21.  
  22. #define    YES    1
  23. #define NO    0
  24.  
  25. .SUFFIXES: .i
  26.  
  27. #include <Imake.cf>
  28.  
  29. XCOMM -----------------------------------------------------------------------
  30. XCOMM site-specific configuration parameters that need to come before
  31. XCOMM the platform-specific parameters - edit site.def to change
  32. #define BeforeVendorCF
  33. #include <site.def>
  34. #undef BeforeVendorCF
  35.  
  36. #if defined(HasGcc2) && !defined(HasGcc)
  37. #define HasGcc HasGcc2
  38. #endif
  39.  
  40. XCOMM -----------------------------------------------------------------------
  41. XCOMM platform-specific configuration parameters - edit MacroFile to change
  42. #include MacroIncludeFile
  43.  
  44. XCOMM -----------------------------------------------------------------------
  45. XCOMM site-specific configuration parameters that go after
  46. XCOMM the platform-specific parameters - edit site.def to change
  47. #define AfterVendorCF
  48. #include <site.def>
  49. #undef AfterVendorCF
  50.  
  51. /*
  52.  * defaults for various generic parameters; set in site.def if needed
  53.  */
  54.  
  55. /* the following are needed before we can include Imake.rules */
  56.  
  57. #ifndef SystemV
  58. #define SystemV            NO    /* SYSV (R3) */
  59. #endif
  60. #ifndef SystemV4
  61. #define SystemV4        NO    /* SVR4 */
  62. #endif
  63. #ifndef HasCodeCenter
  64. #define HasCodeCenter        NO
  65. #endif
  66. #ifndef HasSentinel
  67. #define HasSentinel        NO
  68. #endif
  69. #ifndef HasPurify
  70. #define HasPurify        NO
  71. #endif
  72. #ifndef HasTestCenter
  73. #define HasTestCenter        NO
  74. #endif
  75. #ifndef RemoveTargetProgramByMoving
  76. #define RemoveTargetProgramByMoving NO
  77. #endif
  78. #ifndef DoRanlibCmd
  79. #if SystemV || SystemV4
  80. #define DoRanlibCmd NO
  81. #else
  82. #define DoRanlibCmd YES
  83. #endif
  84. #endif
  85. #ifndef ExecableScripts
  86. #if SystemV
  87. #define ExecableScripts        NO
  88. #else
  89. #define ExecableScripts        YES    /* kernel exec() can handle #! */
  90. #endif
  91. #endif
  92.  
  93. #include <Imake.rules>
  94.  
  95. #ifndef HasSharedLibraries
  96. #define HasSharedLibraries NO
  97. #endif
  98. #ifndef OSMajorVersion
  99. #define OSMajorVersion          0
  100. #endif
  101. #ifndef OSMinorVersion
  102. #define OSMinorVersion          0
  103. #endif
  104. #ifndef UnalignedReferencesAllowed
  105. #define UnalignedReferencesAllowed NO    /* if arbitrary deref is okay */
  106. #endif
  107. #ifndef AvoidNullMakeCommand
  108. #define AvoidNullMakeCommand NO
  109. #endif
  110. #if AvoidNullMakeCommand
  111. /*
  112.  * An obscure bug in BSD4.3's original make causes it not to recognize a
  113.  * macro definition if the macro name starts with a non-alpha and in
  114.  * column one.
  115.  */
  116.  _NULLCMD_ = @ echo -n
  117. #endif
  118.  
  119. #ifndef CrossCompiling
  120. #define CrossCompiling        NO
  121. #endif
  122. #ifndef BourneShell            /* to force shell in makefile */
  123. #define BourneShell        /bin/sh
  124. #endif
  125. #ifndef ConstructMFLAGS
  126. #if SystemV
  127. #define ConstructMFLAGS        YES    /* build MFLAGS from MAKEFLAGS */
  128. #else
  129. #define ConstructMFLAGS        NO    /* build MFLAGS from MAKEFLAGS */
  130. #endif
  131. #endif
  132.  
  133. #ifndef HasLargeTmp
  134. #define HasLargeTmp        NO    /* be paranoid */
  135. #endif
  136.  
  137. #ifndef HasBSD44Sockets
  138. #define HasBSD44Sockets        NO
  139. #endif
  140. #ifndef HasSockets
  141. #define HasSockets        YES
  142. #endif
  143. #ifndef HasStreams
  144. #define HasStreams        !HasSockets
  145. #endif
  146. #ifndef HasDECnet
  147. #define HasDECnet        NO
  148. #endif
  149. #ifndef HasPoll
  150. #if SystemV || SystemV4
  151. #define HasPoll            YES
  152. #else
  153. #define HasPoll            NO
  154. #endif
  155. #endif
  156. #ifndef HasVFork
  157. #if SystemV
  158. #define HasVFork        NO    /* not yet... */
  159. #else
  160. #define HasVFork        YES
  161. #endif
  162. #endif
  163. #ifndef HasPutenv
  164. #define HasPutenv        NO    /* assume not */
  165. #endif
  166. #ifndef HasVoidSignalReturn
  167. #define HasVoidSignalReturn    YES    /* assume yes */
  168. #endif
  169. #ifndef HasBsearch
  170. #define HasBsearch        YES    /* assume yes */
  171. #endif
  172. #ifndef HasFortran
  173. #define HasFortran        NO
  174. #endif
  175. #ifndef HasCplusplus
  176. #if HasGcc2ForCplusplus
  177. #define HasCplusplus        YES
  178. #else
  179. #define HasCplusplus        NO
  180. #endif
  181. #endif
  182. #ifndef HasCplusplusMinusCMinusO
  183. #define HasCplusplusMinusCMinusO NO
  184. #endif
  185. #ifndef HasNdbm
  186. #define HasNdbm            NO
  187. #endif
  188. #ifndef HasSecureRPC
  189. #define HasSecureRPC        NO    /* if you have Secure RPC */
  190. #endif
  191. #ifndef HasKrb5
  192. #define HasKrb5            NO      /* if you have Kerberos V5 */
  193. #endif
  194. #ifndef HasLatex
  195. #define HasLatex        YES
  196. #endif
  197. #ifndef HasShm
  198. #if SystemV || SystemV4
  199. #define HasShm            YES
  200. #else
  201. #define HasShm            NO
  202. #endif
  203. #endif
  204. #if HasKrb5
  205. #ifndef Krb5Includes
  206. #define Krb5Includes -I/krb5/include
  207. #endif
  208. #ifndef Krb5Libraries
  209. #define Krb5Libraries -L/krb5/lib -L/usr/isode/lib -lkrb5 -lcrypto -lisode -lcom_err -ldbm
  210. #endif
  211. #else
  212. #undef Krb5Includes
  213. #define Krb5Includes /**/
  214. #undef Krb5Libraries
  215. #define Krb5Libraries /**/
  216. #endif
  217. #ifndef NeedConstPrototypes
  218. #define NeedConstPrototypes    NO
  219. #endif
  220. #ifndef NeedVarargsPrototypes
  221. #define NeedVarargsPrototypes    NO
  222. #endif
  223. #ifndef NeedNestedPrototypes
  224. #define NeedNestedPrototypes    NO
  225. #endif
  226. #ifndef NeedFunctionPrototypes
  227. #define NeedFunctionPrototypes (NeedVarargsPrototypes || NeedNestedPrototypes)
  228. #endif
  229. #ifndef NeedWidePrototypes
  230. #define NeedWidePrototypes    YES    /* mix and match ANSI-C, non-ANSI */
  231. #endif
  232.  
  233. #ifndef StripInstalledPrograms
  234. #define StripInstalledPrograms NO    /* leave symbol table just in case */
  235. #endif
  236. #ifndef UseCCMakeDepend            /* use slow cc -E script */
  237. #define UseCCMakeDepend NO
  238. #endif
  239.  
  240. /* DefaultUsrBin is independent of ProjectRoot.
  241.    This is a directory where programs will be found even if PATH
  242.    is not set, for example when coming in remotely via rsh. */
  243. #ifndef DefaultUsrBin
  244. #define    DefaultUsrBin /usr/bin
  245. #endif
  246.  
  247. #ifndef UsrLibDir
  248. #ifdef ProjectRoot
  249. #define UsrLibDir Concat(ProjectRoot,/lib)
  250. #ifndef AlternateUsrLibDir
  251. #define AlternateUsrLibDir YES
  252. #endif
  253. #else
  254. #define UsrLibDir /usr/lib
  255. #ifndef AlternateUsrLibDir
  256. #define AlternateUsrLibDir NO
  257. #endif
  258. #endif
  259. #else
  260. #ifndef AlternateUsrLibDir
  261. #define AlternateUsrLibDir YES
  262. #endif
  263. #endif
  264. #ifndef ShLibDir
  265. #define ShLibDir UsrLibDir
  266. #endif
  267. #ifndef IncRoot
  268. #ifdef ProjectRoot
  269. #define IncRoot Concat(ProjectRoot,/include)
  270. #ifndef AlternateIncRoot
  271. #define AlternateIncRoot YES
  272. #endif
  273. #else
  274. #define IncRoot /usr/include
  275. #ifndef AlternateIncRoot
  276. #define AlternateIncRoot NO
  277. #endif
  278. #endif
  279. #else
  280. #ifndef AlternateIncRoot
  281. #define AlternateIncRoot YES
  282. #endif
  283. #endif
  284. #ifndef LintlibDir
  285. #define LintlibDir $(USRLIBDIR)/lint
  286. #endif
  287. #ifndef SystemManDirectory
  288. #if SystemV4
  289. #define SystemManDirectory /usr/share/man
  290. #else
  291. #define SystemManDirectory /usr/man
  292. #endif
  293. #endif
  294. #ifndef ManDirectoryRoot
  295. #ifdef ProjectRoot
  296. #define ManDirectoryRoot Concat(ProjectRoot,/man)
  297. #else
  298. #define ManDirectoryRoot SystemManDirectory
  299. #endif
  300. #endif
  301. #ifndef ManPath
  302. #define ManPath ManDirectoryRoot
  303. #endif
  304. #ifndef ManSourcePath
  305. #define ManSourcePath $(MANPATH)/man
  306. #endif
  307. #ifndef ManDir
  308. #define ManDir $(MANSOURCEPATH)$(MANSUFFIX)
  309. #endif
  310. #ifndef LibmanDir
  311. #define LibmanDir $(MANSOURCEPATH)$(LIBMANSUFFIX)
  312. #endif
  313. #ifndef FileManDir
  314. #define FileManDir $(MANSOURCEPATH)$(FILEMANSUFFIX)
  315. #endif
  316. #ifndef ConfigSrc
  317. #define ConfigSrc $(TOP)/build/Unix/config
  318. #endif
  319. #ifndef DependDir
  320. #if UseCCMakeDepend
  321. #define DependDir $(CONFIGSRC)/util
  322. #else
  323. #define DependDir $(CONFIGSRC)/makedepend
  324. #endif
  325. #endif
  326. #ifndef UNCOMPRESSPATH
  327. #define UNCOMPRESSPATH /usr/ucb/uncompress
  328. #endif
  329. #ifndef OptimizedCDebugFlags
  330. #define OptimizedCDebugFlags -O
  331. #endif
  332. #ifndef OptimizedCplusplusDebugFlags
  333. #define OptimizedCplusplusDebugFlags OptimizedCDebugFlags
  334. #endif
  335. #ifndef DebuggableCDebugFlags
  336. #define DebuggableCDebugFlags -g
  337. #endif
  338. #ifndef DebuggableCplusplusDebugFlags
  339. #define DebuggableCplusplusDebugFlags DebuggableCDebugFlags
  340. #endif
  341. #ifndef ProfiledCDebugFlags
  342. #define ProfiledCDebugFlags -pg
  343. #endif
  344. #ifndef ProfiledCplusplusDebugFlags
  345. #define ProfiledCplusplusDebugFlags ProfiledCDebugFlags
  346. #endif
  347. #ifndef NoOpCDebugFlags
  348. #define NoOpCDebugFlags /**/
  349. #endif
  350. #ifndef DefaultCDebugFlags
  351. #define DefaultCDebugFlags OptimizedCDebugFlags
  352. #endif
  353. #ifndef DefaultCplusplusDebugFlags
  354. #define DefaultCplusplusDebugFlags OptimizedCplusplusDebugFlags
  355. #endif
  356. #ifndef DefaultCCOptions
  357. #define DefaultCCOptions /* floating point, etc. */
  358. #endif
  359. #ifndef DefaultCplusplusOptions
  360. #define DefaultCplusplusOptions /* floating point, etc. */
  361. #endif
  362. #ifndef NoRConst
  363. #define NoRConst NO /* YES if const for structs of funcs is bad */
  364. #endif
  365. #ifndef InstPgmFlags
  366. #define InstPgmFlags -s
  367. #endif
  368. #ifndef InstBinFlags
  369. #define InstBinFlags -m 0755
  370. #endif
  371. #ifndef InstUidFlags
  372. #define InstUidFlags -m 4755
  373. #endif
  374. #ifndef InstLibFlags
  375. #define InstLibFlags -m 0644
  376. #endif
  377. #ifndef InstIncFlags
  378. #define InstIncFlags -m 0444
  379. #endif
  380. #ifndef InstManFlags
  381. #define InstManFlags -m 0444
  382. #endif
  383. #ifndef InstDatFlags
  384. #define InstDatFlags -m 0444
  385. #endif
  386. #ifndef InstKmemFlags     /* put -g kmem -m 2755 in site.def... */
  387. #define InstKmemFlags InstUidFlags
  388. #endif
  389. #ifndef ArCmdBase
  390. #define ArCmdBase ar
  391. #endif
  392. #ifndef ArCmd
  393. #if HasLargeTmp || SystemV4
  394. #define ArCmd ArCmdBase cq
  395. #else
  396. #define ArCmd ArCmdBase clq
  397. #endif
  398. #endif
  399. #ifndef ArAddCmd
  400. #if HasLargeTmp || SystemV4
  401. #define ArAddCmd ArCmdBase ru
  402. #else
  403. #define ArAddCmd ArCmdBase rul
  404. #endif
  405. #endif
  406. #ifndef ArExtCmd
  407. #if HasLargeTmp || SystemV4
  408. #define ArExtCmd ArCmdBase x
  409. #else
  410. #define ArExtCmd ArCmdBase xl
  411. #endif
  412. #endif
  413. #ifndef BootstrapCFlags
  414. #define BootstrapCFlags /**/
  415. #endif
  416. #ifndef HasGcc2
  417. #define HasGcc2 NO
  418. #endif
  419. #ifndef HasGcc
  420. #define HasGcc HasGcc2
  421. #endif
  422. #ifndef HasGcc2ForCplusplus
  423. #define HasGcc2ForCplusplus NO
  424. #endif
  425. #ifndef HasCenterLineC
  426. #define HasCenterLineC NO
  427. #endif
  428. #ifndef HasCenterLineCplusplus
  429. #define HasCenterLineCplusplus NO
  430. #endif
  431. #ifndef CcCmd
  432. #if HasGcc2
  433. #define CcCmd gcc -fpcc-struct-return 
  434. #else
  435. #if HasGcc
  436. #define CcCmd gcc -fstrength-reduce -fpcc-struct-return 
  437. #else
  438. #if HasCenterLineC
  439. #define CcCmd clcc
  440. #else
  441. #define CcCmd cc
  442. #endif
  443. #endif
  444. #endif
  445. #endif
  446. #ifndef CplusplusCmd
  447. #if HasGcc2ForCplusplus
  448. #define CplusplusCmd g++
  449. #else
  450. #define CplusplusCmd CC
  451. #endif
  452. #endif
  453. #ifndef CplusplusStandardDefines
  454. #define CplusplusStandardDefines StandardDefines
  455. #endif
  456. #ifndef CplusplusExtraDefines
  457. #define CplusplusExtraDefines /**/
  458. #endif
  459. #ifndef CplusplusExtraIncludes
  460. #define CplusplusExtraIncludes /**/
  461. #endif
  462. #ifndef CplusplusDependIncludes
  463. #define CplusplusDependIncludes /**/
  464. #endif
  465. #ifndef CplusplusOptions
  466. #define CplusplusOptions /**/
  467. #endif
  468. #ifndef CplusplusSpecialOptions
  469. #define CplusplusSpecialOptions /**/
  470. #endif
  471. #if HasFortran
  472. #ifndef FortranCmd
  473. #define FortranCmd f77
  474. #endif
  475. #ifndef FortranFlags
  476. #define FortranFlags /**/
  477. #endif
  478. #ifndef FortranDebugFlags    /* for -O or -g */
  479. #define FortranDebugFlags /**/
  480. #endif
  481. #endif
  482. #ifndef AsCmd
  483. #define AsCmd as
  484. #endif
  485. #ifndef CompressCmd
  486. #define CompressCmd compress
  487. #endif
  488. #ifndef CppCmd
  489. #define CppCmd /lib/cpp
  490. #endif
  491. #ifndef PreProcessCmd
  492. #define PreProcessCmd CcCmd -E
  493. #endif
  494. #ifndef InstallCmd        /* hack should be in project */
  495. #if SystemV || SystemV4
  496. #ifdef UseInstalled        /* assume BINDIR in path */
  497. #define InstallCmd bsdinst
  498. #else
  499. #define InstallCmd $(SHELL) $(CONFIGSRC)/util/bsdinst.sh
  500. #endif
  501. #else
  502. #define InstallCmd install
  503. #endif
  504. #endif
  505. #ifndef InstallFlags
  506. #define InstallFlags -c
  507. #endif
  508. #ifndef LdCmd
  509. #define LdCmd ld
  510. #endif
  511. #ifndef LexCmd
  512. #define LexCmd lex
  513. #endif
  514. #ifndef LexLib
  515. #define LexLib -ll
  516. #endif
  517. #ifndef YaccCmd
  518. #define YaccCmd yacc
  519. #endif
  520. #ifndef CplusplusYaccCmd
  521. #define CplusplusYaccCmd YaccCmd
  522. #endif
  523. #ifndef LintCmd
  524. #define LintCmd lint
  525. #endif
  526. #ifndef LintLibFlag
  527. #if SystemV || SystemV4
  528. #define LintLibFlag -o
  529. #else
  530. #define LintLibFlag -C
  531. #endif
  532. #endif
  533. #ifndef LintOpts
  534. #if SystemV || SystemV4
  535. #define LintOpts -bh
  536. #else
  537. #define LintOpts -axz
  538. #endif
  539. #endif
  540. #ifndef CpCmd
  541. #define CpCmd cp
  542. #endif
  543. #ifndef HasSymLinks
  544. #define HasSymLinks YES
  545. #endif
  546. #ifndef LnCmd /* can use cp instead of ln if necessary */
  547. #if HasSymLinks
  548. #define LnCmd ln -s
  549. #else
  550. #define LnCmd ln
  551. #endif
  552. #endif
  553. #ifndef MakeCmd
  554. #define MakeCmd make
  555. #endif
  556. #ifndef MoveIfChangeCmd
  557. #ifdef UseInstalled
  558. #define MoveIfChangeCmd MvCmd    /* not worth installing move-if-change */
  559. #else
  560. #define MoveIfChangeCmd $(SHELL) $(CONFIGSRC)/util/move-if-change.sh
  561. #endif
  562. #endif
  563. #ifndef MvCmd
  564. #define MvCmd mv
  565. #endif
  566. #ifndef RanlibCmd
  567. #define RanlibCmd ranlib
  568. #endif
  569. #ifndef RanlibInstFlags
  570. #define RanlibInstFlags /**/
  571. #endif
  572. #ifndef RmCmd
  573. #define RmCmd rm -f
  574. #endif
  575. #ifndef X11PreLib        /* for building Fresco */
  576. #if AlternateUsrLibDir
  577. #define X11PreLib -L$(USRLIBDIR)
  578. #else
  579. #define X11PreLib /**/
  580. #endif
  581. #endif
  582. #ifndef TclIncludes        /* for building dish */
  583. #define TclIncludes /**/
  584. #endif
  585. #ifndef TclPreLib        /* for building dish */
  586. #define TclPreLib /**/
  587. #endif
  588. #ifndef StandardIncludes    /* for platform-specifics */
  589. #define StandardIncludes /**/
  590. #endif
  591. #ifndef StandardDefines
  592. #if SystemV
  593. #define StandardDefines -DSYSV
  594. #else
  595. #if SystemV4
  596. #define StandardDefines -DSVR4
  597. #else
  598. #define StandardDefines /**/
  599. #endif
  600. #endif
  601. #endif
  602. #ifndef StandardCppDefines
  603. #define StandardCppDefines StandardDefines
  604. #endif
  605. #ifndef Malloc0ReturnsNull
  606. #define Malloc0ReturnsNull NO
  607. #endif
  608. #ifndef NdbmDefines
  609. #if HasNdbm
  610. #define NdbmDefines -DNDBM
  611. #else
  612. #define NdbmDefines /**/
  613. #endif
  614. #endif
  615. #ifndef LdPreLib
  616. #if !defined(UseInstalled)
  617. #define LdPreLib -L$(BUILDLIBDIR)
  618. #else
  619. #if AlternateUsrLibDir
  620. #define LdPreLib -L$(USRLIBDIR)
  621. #else
  622. #define LdPreLib /**/
  623. #endif
  624. #endif
  625. #endif
  626. #ifndef LdPostLib
  627. #if !defined(UseInstalled) && AlternateUsrLibDir && !HasLdRunPath
  628. #define LdPostLib -L$(USRLIBDIR)
  629. #else
  630. #define LdPostLib /**/
  631. #endif
  632. #endif
  633. #ifndef MathLibrary
  634. #define MathLibrary -lm
  635. #endif
  636. #ifndef DBMLibrary
  637. #define DBMLibrary -ldbm
  638. #endif
  639. #ifndef ExtraLibraries
  640. #if SystemV4
  641. #if HasSockets
  642. #define ExtraLibraries -lsocket -lnsl -lw
  643. #else
  644. #define ExtraLibraries -lnsl -lw
  645. #endif
  646. #else
  647. #define ExtraLibraries /**/
  648. #endif
  649. #endif
  650. #ifndef ExtraLoadOptions
  651. #define ExtraLoadOptions /**/
  652. #endif
  653. #ifndef ExtraLoadFlags
  654. #define ExtraLoadFlags /**/
  655. #endif
  656. #ifndef LdCombineFlags
  657. #if SystemV4
  658. #define LdCombineFlags -r
  659. #else
  660. #define LdCombineFlags -X -r
  661. #endif
  662. #endif
  663. #ifndef LdStripFlags
  664. #define LdStripFlags -x
  665. #endif
  666. #ifndef TagsCmd
  667. #define TagsCmd ctags
  668. #endif
  669. #ifndef LoaderLibPrefix
  670. #define LoaderLibPrefix /**/
  671. #endif
  672. #ifndef ImakeCmd
  673. #ifdef UseInstalled        /* assume BINDIR in path */
  674. #define ImakeCmd imake
  675. #else
  676. #define ImakeCmd $(IMAKESRC)/imake
  677. #endif
  678. #endif
  679. #ifndef DependCmd
  680. #ifdef UseInstalled        /* assume BINDIR in path */
  681. #define DependCmd makedepend
  682. #else
  683. #define DependCmd $(DEPENDSRC)/makedepend
  684. #endif
  685. #endif
  686. #ifndef DependFlags
  687. #define DependFlags -b
  688. #endif
  689. #ifndef IxxCmd
  690. #ifdef UseInstalled
  691. #define IxxCmd ixx        /* assume BINDIR in path */
  692. #else
  693. #define IxxCmd $(IXXSRC)/ixx
  694. #endif
  695. #endif
  696. #ifndef IxxFlags
  697. #define IxxFlags -s BaseObject -m TypeObj -r RequestObj -p Xf
  698. #endif
  699. #ifndef IxxIncludes
  700. #define IxxIncludes -i '<Fresco/enter-scope.h>'
  701. #endif
  702. #ifndef MkdirHierCmd
  703. #ifdef UseInstalled        /* assume BINDIR in path */
  704. #define MkdirHierCmd mkdirhier
  705. #else
  706. #define MkdirHierCmd $(SHELL) $(CONFIGSRC)/util/mkdirhier.sh
  707. #endif
  708. #endif
  709. #ifndef TroffCmd
  710. #define TroffCmd psroff
  711. #endif
  712. #ifndef MsMacros
  713. #define MsMacros -ms
  714. #endif
  715. #ifndef TblCmd
  716. #define TblCmd tbl
  717. #endif
  718. #ifndef EqnCmd
  719. #define EqnCmd eqn
  720. #endif
  721. #ifndef DvipsCmd
  722. #define DvipsCmd dvips
  723. #endif
  724. #ifndef LatexCmd
  725. #define LatexCmd latex
  726. #endif
  727. #if HasSentinel
  728. #ifndef SentinelCmd
  729. #define SentinelCmd sentinel
  730. #endif
  731. #ifndef SentinelOptions
  732. #define SentinelOptions /**/
  733. #endif
  734. #endif
  735. #if HasPurify
  736. #ifndef PurifyCmd
  737. #define PurifyCmd purify
  738. #endif
  739. #ifndef PurifyOptions
  740. #define PurifyOptions /**/
  741. #endif
  742. #endif
  743. #if HasTestCenter
  744. #ifndef ProofCmd
  745. #define ProofCmd proof
  746. #endif
  747. #ifndef ProofOptions
  748. #define ProofOptions /**/
  749. #endif
  750. #endif
  751. #ifndef PathSeparator
  752. #define PathSeparator /
  753. #endif
  754. #ifndef Osuf
  755. #define Osuf o
  756. #endif
  757. #ifndef CCsuf
  758. #define CCsuf cxx
  759. #endif
  760. #ifndef ManSuffix
  761. #define ManSuffix    n        /* use just one tab or cpp will die */
  762. #endif
  763. #ifndef LibManSuffix
  764. #define LibManSuffix    3        /* use just one tab or cpp will die */
  765. #endif
  766. #ifndef FileManSuffix
  767. #if SystemV || SystemV4 || defined(OSF1Architecture)
  768. #define FileManSuffix    4        /* use just one tab or cpp will die */
  769. #else
  770. #define FileManSuffix    5        /* use just one tab or cpp will die */
  771. #endif
  772. #endif
  773. #ifndef ExpandManNames
  774. #if SystemV
  775. #define ExpandManNames NO
  776. #else
  777. #define ExpandManNames YES
  778. #endif
  779. #endif
  780. #ifndef TOPDIR
  781. #define TOPDIR .
  782. #endif
  783. #ifndef CURDIR
  784. #define CURDIR .
  785. #endif
  786. #ifndef SiteIConfigFiles
  787. #define SiteIConfigFiles /**/
  788. #endif
  789. #ifndef ExtraFilesToClean
  790. #define ExtraFilesToClean /**/
  791. #endif
  792. #ifndef FilesToClean
  793. #define FilesToClean *.CKP *.ln *.BAK *.bak *.Osuf core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut 
  794. #endif
  795.  
  796.           PATHSEP = PathSeparator
  797.             SHELL = BourneShell
  798.  
  799.               TOP = TOPDIR
  800.       CURRENT_DIR = CURDIR
  801.  
  802.             IMAKE = ImakeCmd
  803.            DEPEND = DependCmd
  804.         MKDIRHIER = MkdirHierCmd
  805.         CONFIGSRC = ConfigSrc
  806.          IMAKESRC = $(CONFIGSRC)/imake
  807.         DEPENDSRC = DependDir
  808.            IXXSRC = $(TOP)/build/Unix/bin
  809.               IXX = IxxCmd
  810.          IXXFLAGS = IxxFlags
  811.       IXXINCLUDES = IxxIncludes
  812.  
  813.           INCROOT = IncRoot        /* base of where to put header files */
  814.         USRLIBDIR = UsrLibDir        /* nonshared libraries */
  815.          SHLIBDIR = ShLibDir            /* shared libraries */
  816.        LINTLIBDIR = LintlibDir        /* lint libraries */
  817.           MANPATH = ManPath        /* top of manual page tree */
  818.     MANSOURCEPATH = ManSourcePath    /* prefix for man page sources */
  819.            MANDIR = ManDir        /* man pages for commands */
  820.         LIBMANDIR = LibmanDir        /* man pages for library routines */
  821.        FILEMANDIR = FileManDir        /* man pages for config files */
  822.  
  823.                AR = ArCmd
  824.   BOOTSTRAPCFLAGS = BootstrapCFlags    /* set if cpp does not have uniq sym */
  825.                CC = CcCmd
  826.                AS = AsCmd
  827. #if HasFortran
  828.                FC = FortranCmd
  829.       FDEBUGFLAGS = FortranDebugFlags
  830.           FCFLAGS = FortranFlags $(FDEBUGFLAGS)
  831. #endif
  832. #if HasCplusplus
  833.  
  834. .SUFFIXES: .CCsuf
  835.  
  836.               CXX = CplusplusCmd
  837.     CXXDEBUGFLAGS = DefaultCplusplusDebugFlags
  838.  CXXEXTRA_DEFINES = CplusplusExtraDefines
  839. CXXEXTRA_INCLUDES = CplusplusExtraIncludes
  840. CXXDEPEND_INCLUDES = CplusplusDependIncludes
  841.   CXXIDL_INCLUDES = /* IDL interfaces are no longer separate from headers */
  842.    CXXSTD_DEFINES = CplusplusStandardDefines
  843.        CXXOPTIONS = CplusplusOptions
  844.       CXXINCLUDES = $(INCLUDES) $(CXXEXTRA_INCLUDES) $(TOP_INCLUDES) -I$(INCROOT)
  845.        CXXDEFINES = $(CXXINCLUDES) $(CXXSTD_DEFINES) $(CXXEXTRA_DEFINES) $(THREADS_CXXDEFINES)
  846.          CXXFLAGS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES)
  847. #endif
  848.          COMPRESS = CompressCmd
  849.               CPP = CppCmd $(STD_CPP_DEFINES)        /* simple filters */
  850.     PREPROCESSCMD = PreProcessCmd $(STD_CPP_DEFINES)    /* prefered; mdep */
  851.           INSTALL = InstallCmd
  852.      INSTALLFLAGS = InstallFlags
  853.                LD = LdCmd
  854.               LEX = LexCmd
  855.            LEXLIB = LexLib
  856.              YACC = YaccCmd
  857.            CCYACC = CplusplusYaccCmd
  858.              LINT = LintCmd
  859.       LINTLIBFLAG = LintLibFlag
  860.          LINTOPTS = LintOpts
  861.                LN = LnCmd
  862.              MAKE = MakeCmd
  863.      MOVEIFCHANGE = MoveIfChangeCmd
  864.                MV = MvCmd
  865.                CP = CpCmd
  866. #if DoRanlibCmd
  867.            RANLIB = RanlibCmd
  868.   RANLIBINSTFLAGS = RanlibInstFlags
  869. #endif
  870.                RM = RmCmd
  871.         MANSUFFIX = ManSuffix        /* suffix for command man pages */
  872.      LIBMANSUFFIX = LibManSuffix    /* suffix for library man pages */
  873.     FILEMANSUFFIX = FileManSuffix    /* suffix for config file man pages */
  874.             TROFF = TroffCmd
  875.          MSMACROS = MsMacros
  876.               TBL = TblCmd
  877.               EQN = EqnCmd
  878. #if HasLatex
  879.             DVIPS = DvipsCmd
  880.             LATEX = LatexCmd
  881. #endif
  882. #if HasSentinel
  883.          SENTINEL = SentinelCmd
  884.   SENTINELOPTIONS = SentinelOptions
  885. #endif
  886. #if HasPurify
  887.            PURIFY = PurifyCmd
  888.     PURIFYOPTIONS = PurifyOptions
  889. #endif
  890. #if HasTestCenter
  891.            PROOF = ProofCmd
  892.     PROOFOPTIONS = ProofOptions
  893. #endif
  894.      TCL_INCLUDES = TclIncludes
  895.      STD_INCLUDES = StandardIncludes
  896.   STD_CPP_DEFINES = StandardCppDefines
  897.       STD_DEFINES = StandardDefines
  898.  EXTRA_LOAD_FLAGS = ExtraLoadFlags
  899.   EXTRA_LDOPTIONS = ExtraLoadOptions
  900.   EXTRA_LIBRARIES = ExtraLibraries Krb5Libraries
  901.              TAGS = TagsCmd
  902. #if ConstructMFLAGS
  903.            MFLAGS = -$(MAKEFLAGS)
  904. #endif
  905. #if HasSharedLibraries
  906.     SHAREDCODEDEF = SharedCodeDef
  907.          SHLIBDEF = SharedLibraryDef
  908. #ifdef SharedLibraryLoadFlags
  909.      SHLIBLDFLAGS = SharedLibraryLoadFlags
  910. #endif
  911. /*
  912.  * Here we set up flags needed to produce position-independent code 
  913.  * when doing C and C++ compilation.  The default if you specify C
  914.  * PIC flags without also specifying C++ PIC flags is to assume that 
  915.  * the C flags work for both.  If your C++ compiler requires different
  916.  * flags, specify them explicitly in PositionIndependentCplusplusFlags.
  917.  */
  918. #ifdef PositionIndependentCFlags
  919.          PICFLAGS = PositionIndependentCFlags
  920. #endif
  921. #ifdef PositionIndependentCplusplusFlags
  922.       CXXPICFLAGS = PositionIndependentCplusplusFlags
  923. #else
  924. #ifdef PositionIndependentCFlags
  925.       CXXPICFLAGS = PositionIndependentCFlags
  926. #endif
  927. #endif
  928. #endif
  929. #if !HasVoidSignalReturn
  930.    SIGNAL_DEFINES = -DSIGNALRETURNSINT
  931. #endif
  932. /*
  933.  * The following supports forcing of function prototypes
  934.  */
  935. #if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes && NeedNestedPrototypes
  936. #define _funcprotodef -DFUNCPROTO=15
  937. #else
  938. #if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedNestedPrototypes
  939. #define _funcprotodef -DFUNCPROTO=11
  940. #else
  941. #if NeedFunctionPrototypes && NeedNestedPrototypes
  942. #define _funcprotodef -DFUNCPROTO=9
  943. #else
  944. #if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes
  945. #define _funcprotodef -DFUNCPROTO=7
  946. #else
  947. #if NeedFunctionPrototypes && NeedConstPrototypes
  948. #define _funcprotodef -DFUNCPROTO=5
  949. #else
  950. #if NeedFunctionPrototypes && NeedVarargsPrototypes
  951. #define _funcprotodef -DFUNCPROTO=3
  952. #else
  953. #if NeedFunctionPrototypes
  954. #define _funcprotodef -DFUNCPROTO
  955. #else
  956. #define _funcprotodef /**/
  957. #endif
  958. #endif
  959. #endif
  960. #endif
  961. #endif
  962. #endif
  963. #endif
  964. #if NeedWidePrototypes
  965. #define _wideprotodef /**/
  966. #else
  967. #define _wideprotodef -DNARROWPROTO
  968. #endif
  969.     PROTO_DEFINES = _funcprotodef _wideprotodef 
  970. #undef _funcprotodef
  971. #undef _wideprotodef
  972.  
  973. #if StripInstalledPrograms
  974.      INSTPGMFLAGS = InstPgmFlags    /* install flags for stripping */
  975. #else
  976.      INSTPGMFLAGS = 
  977. #endif
  978.      INSTBINFLAGS = InstBinFlags    /* install flags for programs */
  979.      INSTUIDFLAGS = InstUidFlags    /* install flags for setuid programs */
  980.      INSTLIBFLAGS = InstLibFlags    /* install flags for libraries */
  981.      INSTINCFLAGS = InstIncFlags    /* install flags for headers */
  982.      INSTMANFLAGS = InstManFlags    /* install flags for man pages */
  983.      INSTDATFLAGS = InstDatFlags    /* install flags for data files */
  984.     INSTKMEMFLAGS = InstKmemFlags    /* install flags for /dev/kmem progs */
  985.  
  986. #ifdef ProjectRoot
  987.       PROJECTROOT = ProjectRoot
  988. #endif
  989. #ifdef UseInstalled
  990. #if AlternateIncRoot
  991.      TOP_INCLUDES = -I$(INCROOT)    /* def: for alternative /usr/include */
  992. #endif
  993. #else
  994.      TOP_INCLUDES = -I$(TOP)        /* def: for builds within tree */
  995. #endif
  996.       CDEBUGFLAGS = DefaultCDebugFlags
  997.         CCOPTIONS = DefaultCCOptions    /* to distinguish from param flags */
  998. /*
  999.  * INCROOT specifies where to find the installed X11 header files
  1000.  * STD_INCLUDES contains system-specific includes
  1001.  * TOP_INCLUDES specifies how to get to /usr/include or its build substitute
  1002.  * EXTRA_INCLUDES contains project-specific includes set in project incfiles
  1003.  * INCLUDES contains client-specific includes set in Imakefile
  1004.  * LOCAL_LDFLAGS contains client-specific ld flags flags set in Imakefile
  1005.  */
  1006.       ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(STD_INCLUDES) -I$(INCROOT)
  1007.        ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(DEFINES)
  1008.            CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(ALLDEFINES)
  1009.         LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES)
  1010.         X11PRELIB = X11PreLib
  1011.         TCLPRELIB = TclPreLib
  1012.          LDPRELIB = LdPreLib
  1013.         LDPOSTLIB = LdPostLib
  1014.         LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)  $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIB)
  1015.      CXXLDOPTIONS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_CXXLDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIB)
  1016.  
  1017.            LDLIBS = $(LDPOSTLIB) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
  1018. #if AlternateUsrLibDir && HasLdRunPath
  1019.        CCENVSETUP = LD_RUN_PATH=$(USRLIBDIR)
  1020.            CCLINK = $(CCENVSETUP) $(CC)
  1021. #else
  1022.            CCLINK = $(CC)
  1023. #endif
  1024. #if AlternateUsrLibDir && HasLdRunPath
  1025.       CXXENVSETUP = LD_RUN_PATH=$(USRLIBDIR)
  1026.           CXXLINK = $(CXXENVSETUP) $(CXX)
  1027. #else
  1028.           CXXLINK = $(CXX)
  1029. #endif
  1030.      LDSTRIPFLAGS = LdStripFlags
  1031.    LDCOMBINEFLAGS = LdCombineFlags
  1032.       DEPENDFLAGS = DependFlags
  1033.  
  1034.         MACROFILE = MacroFile
  1035.            RM_CMD = $(RM)
  1036.  
  1037.     IMAKE_DEFINES = /* leave blank, for command line use only */
  1038. #ifdef UseInstalled
  1039.          IRULESRC = $(CONFIGDIR)    /* used in rules file */
  1040.         IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
  1041. #else
  1042.          IRULESRC = $(CONFIGSRC)/cf
  1043.         IMAKE_CMD = $(IMAKE) -I$(IRULESRC) $(IMAKE_DEFINES)
  1044. #endif
  1045.      ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Project.tmpl \
  1046.             $(IRULESRC)/site.def $(IRULESRC)/$(MACROFILE) \
  1047.             SiteIConfigFiles $(EXTRA_ICONFIGFILES)
  1048.  
  1049. #ifndef LocalRulesFile
  1050. /* need this to make ANSI-style preprocessors happy */
  1051. #define LocalRulesFile <noop.rules>
  1052. #endif
  1053. #include LocalRulesFile
  1054.  
  1055. /*
  1056.  * get project-specific configuration and rules
  1057.  */
  1058. #include <Project.tmpl>
  1059. #ifndef LocalTmplFile
  1060. /* need this to make ANSI-style preprocessors happy */
  1061. #define LocalTmplFile <noop.rules>
  1062. #endif
  1063. #include LocalTmplFile
  1064.  
  1065. #ifdef FixupLibReferences
  1066. FixupLibReferences()
  1067. #endif
  1068.  
  1069. /* ConfigDir comes from Project.tmpl */
  1070.         CONFIGDIR = ConfigDir        /* build configuration information */
  1071.  
  1072. XCOMM -----------------------------------------------------------------------
  1073. XCOMM start of Imakefile
  1074. #include INCLUDE_IMAKEFILE
  1075.  
  1076. XCOMM -----------------------------------------------------------------------
  1077. XCOMM common rules for all Makefiles - do not edit
  1078.  
  1079. .c.i:
  1080.     CPPOnlyCompile($*.c,$(_NOOP_))
  1081. /*
  1082.  * These need to be here so that rules in Imakefile occur first;  the blank
  1083.  * emptyrule is to make sure that an empty Imakefile does not default to make
  1084.  * clean.
  1085.  */
  1086. emptyrule::
  1087.  
  1088. CleanTarget()
  1089.  
  1090. #ifndef IHaveSpecialMakefileTarget
  1091. MakefileTarget()
  1092. #endif
  1093.  
  1094. TagsTarget()
  1095. #ifdef MakefileAdditions
  1096. MakefileAdditions()
  1097. #endif
  1098.  
  1099. CenterLoadTarget(debug_src,$(SRCS),NullParameter,$(ALLDEFINES))
  1100.  
  1101. CenterLoadTarget(debug_obj,$(OBJS),NullParameter,$(ALLDEFINES))
  1102.  
  1103. #ifdef IHaveSubdirs
  1104. XCOMM -----------------------------------------------------------------------
  1105. XCOMM rules for building in SUBDIRS - do not edit
  1106.  
  1107. InstallSubdirs($(SUBDIRS))
  1108. InstallManSubdirs($(SUBDIRS))
  1109. InstallLinkKitSubdirs($(SUBDIRS))
  1110. CleanSubdirs($(SUBDIRS))
  1111. TagSubdirs($(SUBDIRS))
  1112. MakefileSubdirs($(SUBDIRS))
  1113. IncludesSubdirs($(SUBDIRS))
  1114. FilterSubdirs($(SUBDIRS))
  1115. HeadersSubdirs($(SUBDIRS))
  1116. CleanHeadersSubdirs($(SUBDIRS))
  1117.  
  1118. #else
  1119. XCOMM -----------------------------------------------------------------------
  1120. XCOMM empty rules for directories that do not have SUBDIRS - do not edit
  1121.  
  1122. install::
  1123.     @echo "install in $(CURRENT_DIR) done"
  1124.  
  1125. install.man::
  1126.     @echo "install.man in $(CURRENT_DIR) done"
  1127.  
  1128. install.linkkit::
  1129.     @echo "install.linkkit in $(CURRENT_DIR) done"
  1130.  
  1131. Makefiles::
  1132.  
  1133. includes::
  1134.  
  1135. depend::
  1136.  
  1137. filter::
  1138.  
  1139. headers::
  1140.  
  1141. clean_headers::
  1142.  
  1143. #endif /* if subdirectory rules are needed */
  1144.  
  1145. XCOMM -----------------------------------------------------------------------
  1146. XCOMM dependencies generated by makedepend
  1147.